# 包含通用的Makefile片段，可能包含一些通用的设置或规则
include common.mk

# 定义生成的可执行程序
bin_PROGRAMS = iec2c iec2iec

# 定义需要进入的子目录，构建过程会递归进入这些目录
SUBDIRS = absyntax absyntax_utils stage1_2 stage3 stage4

# 定义aclocal的标志，-I config表示在config目录中查找m4宏定义文件
ACLOCAL_AMFLAGS=-I config

# 获取Mercurial版本控制系统中的当前版本号
HGVERSION= $(shell hg -R $(top_srcdir) parents --template '{node|short}' 2> /dev/null || grep node $(top_srcdir)/.hg_archival.txt 2> /dev/null || true )

# 将获取的版本号定义为编译标志，以便在编译过程中可以通过HGVERSION宏访问版本信息
AM_CXXFLAGS += -DHGVERSION="\"${HGVERSION}\""

# 定义链接可执行文件iec2c时所需的静态库
iec2c_LDADD = stage1_2/libstage1_2.a \
	stage3/libstage3.a \
	stage4/generate_c/libstage4_c.a \
	absyntax/libabsyntax.a \
	absyntax_utils/libabsyntax_utils.a

# 定义链接可执行文件iec2iec时所需的静态库
iec2iec_LDADD = stage1_2/libstage1_2.a \
	stage3/libstage3.a \
	stage4/generate_iec/libstage4_iec.a \
	absyntax/libabsyntax.a \
	absyntax_utils/libabsyntax_utils.a

# 指定iec2c可执行文件的源文件
iec2c_SOURCES = main.cc

# 指定iec2iec可执行文件的源文件
iec2iec_SOURCES = main.cc
